Yes.
When fib(n) is computed recursively, very many activations are created
and destroyed.
Sometimes the time it takes to compute fib(n) is used as a
benchmark, a program that tests the speed of a computer.
Here is a bare-minimum program for fib(n):
class FibonacciCalc
{
  public int fib( int n )
  {
    if ( n == 1 ) 
      return 1;
    else if ( n == 2 ) 
      return 1;
    else
      return fib( n-1 ) + fib( n-2 );
  }
}
class FibonacciTester
{
  public static void main ( String[] args)
  {
    int argument = Integer.parseInt( args[0] );  // Get N from the command line.
    
    FibonacciCalc f = new FibonacciCalc();
    int result = f.fib( argument );
    System.out.println("fib(" + argument + ") is " + result );
  }
}
Run the program with an argument on the command line, like 
| N | 10 | 20 | 30 | 35 | 40 | 45 | 
|---|---|---|---|---|---|---|
| fib(N) | 55 | 6765 | 832040 | 9227465 | 102334155 | 1134903170 | 
| time (sec) | 2 | 2 | 3 | 4 | 30 | 360 | 
It takes a few seconds for the Java system to load and start running. This time is included in these measurements.
Is an iterative version of Fibonacci possible?